package com.hb.core.pojo.project.portal.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hb.core.pojo.Attachments;
import com.hb.core.pojo.JSONObjectProperty;
import com.hb.core.pojo.parent.MPCommonEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * <p>
 * 门户公告
 * </p>
 *
 * @author tian
 * @since 2022-05-25
 */
@Data
@TableName("portal_notice")
@EqualsAndHashCode(callSuper = true)
public class PortalNotice extends MPCommonEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 项目模块 1 建设工程 2 政府采购 3 企业采购
     */
    private Integer projectModule;

    /**
     * 省
     */
    private String provinceName;

    /**
     * 市
     */
    private String cityName;

    /**
     * 区
     */
    private String areaName;

    /**
     * 项目id（因为有可能涉及其他系统同步数据，所以id设置为varchar）
     */
    private String projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 公告名称
     */
    private String noticeTitle;

    /**
     * 招标方式（1，公开招标，2，竞争性磋商，3，竞争性谈判，5，单一来源采购 7，询价）
     */
    private Integer bidWay;

    /**
     * 项目分类, 1: 工程, 2: 货物, 3: 服务
     */
    private String projectType;

    /**
     * 公告性质 1.首次公告 2 变更公告 3.延期公告 4 补充 5 终止 6 再次 7 控制价
     */
    private Integer noticeNature;

    /**
     * 公告类型（1，招标/预审公告，2，中标候选人公示，3，中标结果公示）
     */
    private Integer noticeType;

    /**
     * 所属企业id
     */
    private Long orgId;

    /**
     * 企业名称
     */
    private String orgName;

    /**
     * 发布时间
     */
    private LocalDateTime deployTime;

    /**
     * 报名开始时间
     */
    private LocalDateTime signStartTime;

    /**
     * 报名结束时间
     */
    private LocalDateTime signEndTime;

    /**
     * 开标时间
     */
    private LocalDateTime openBidTime;

    /**
     * 阅读量
     */
    private Integer clickCount;

    /**
     * 外部系统对接标识（例如：瑞邦（RB））
     */
    private String receiveType;

    /**
     * 推送公共平台(赢标saas版)状态（0，未推送，1，已推送）
     */
    private Integer pushStatus;

    /**
     * 公告类型（0，正常公告，1，手动添加）
     */
    private Integer portalNoticeType;

    /**
     * 公示内容（手动添加专用）
     */
    private Attachments noticeContentFile;

    /**
     * 公告附件（手动添加专用）
     */
    private Attachments attachments;

    @TableField(exist = false)
    private Integer applyStatus;
}
